home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / pretty30.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  32.4 KB  |  1,000 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9. /*No:CALL_INFIX_OR.arguments*/
  10. T0* r121add_comment(T121* C,T0* a1){
  11. T0* R=NULL;
  12. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  13. R=(T0*)C;
  14. }
  15. else {
  16. {T529*n=malloc(sizeof(*n));
  17. *n=M529;
  18. r529make(n,(T0*)C,a1);
  19. R=(T0*)n;
  20. }
  21. }
  22. /*FI*/return R;
  23. }
  24. int r121to_integer(T121* C){
  25. int R=0;
  26. r121error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  27. return R;
  28. }
  29. int r121is_a(T121* C,T0* a1){
  30. int R=0;
  31. R=X291is_a(X291run_type((((T121*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  32. /*IF*/if (!(R)) {
  33. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  34. r121error(X662start_position(a1),((T0*)ms4_662));
  35. }
  36. /*FI*/return R;
  37. }
  38. /*No:CALL_INFIX_OR.is_current*/
  39. void r121make(T121* C,T0* a1,T0* a2,T0* a3){
  40. T0* _eal=NULL;
  41. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  42. r683add_position(a2);
  43. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  44. r683fatal_error(((T683*)(oBC364eh)),b1);
  45. }/*]*/
  46. }
  47. /*FI*/{T454*n=malloc(sizeof(*n));
  48. *n=M454;
  49. r454make(n,r121operator(),a2);
  50. C->_feature_name=(T0*)n;
  51. }
  52. {T431*n=malloc(sizeof(*n));
  53. *n=M431;
  54. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  55. /*]*/
  56. _eal=(T0*)n;
  57. }
  58. r121make_call_1(C,a1,(((T121*)C))->_feature_name/*24*/,_eal);
  59. }
  60. void r121print_as_target(T121* C){
  61. r238put_character(((T238*)(oBC364fmt)),'\50');
  62. r121pretty_print(C);
  63. r238put_character(((T238*)(oBC364fmt)),'\51');
  64. r238put_character(((T238*)(oBC364fmt)),'\56');
  65. }
  66. /*No:CALL_INFIX_OR.nb_errors*/
  67. /*No:CALL_INFIX_OR.feature_name*/
  68. /*No:CALL_INFIX_OR.fz_iinaiv*/
  69. /*No:CALL_INFIX_OR.run_feature*/
  70. /*No:CALL_INFIX_OR.start_position*/
  71. /*No:CALL_INFIX_OR.target*/
  72. /*No:CALL_INFIX_OR.precedence*/
  73. T0* r121to_runnable(T121* C,T0* a1){
  74. T0* R=NULL;
  75. T0* _tla=NULL;
  76. T0* _a=NULL;
  77. /*IF*/if (((((T121*)C))->_current_type/*4*/)==((void*)(NULL))) {
  78. r121to_runnable_0(C,a1);
  79. _a=r431to_runnable(((T431*)((((T121*)C))->_arguments/*20*/)),a1);
  80. /*IF*/if ((_a)==((void*)(NULL))) {
  81. r121error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  82. }
  83. else {
  84. C->_arguments=_a;
  85. }
  86. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  87. r431match_with(((T431*)((((T121*)C))->_arguments/*20*/)),(((T121*)C))->_run_feature/*12*/);
  88. }
  89. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  90. _tla=(((T121*)C))->_result_type/*16*/;
  91. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  92. case 239: 
  93. break;
  94. default:
  95. _tla=NULL;
  96. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  97. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/));
  98. }
  99. /*FI*/}
  100. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  101. R=(T0*)C;
  102. }
  103. /*FI*/}
  104. else {
  105. R=r121twin(C);
  106. /*[IRF3.3set_current_type*/((((T121*)(((T121*)R))))->_current_type)=(NULL);
  107. /*]*/
  108. R=r121to_runnable(((T121*)R),a1);
  109. }
  110. /*FI*/return R;
  111. }
  112. void r121bracketed_pretty_print(T121* C){
  113. r238put_character(((T238*)(oBC364fmt)),'\50');
  114. r121pretty_print(C);
  115. r238put_character(((T238*)(oBC364fmt)),'\51');
  116. }
  117. /*No:CALL_INFIX_OR.result_type*/
  118. T0* r121twin(T121* C){
  119. T0* R=NULL;
  120. R=malloc(sizeof(*C));
  121. *((T121*)R)=*C;
  122. return R;
  123. }
  124. /*No:CALL_INFIX_OR.set_current_type*/
  125. T0* r121operator(void){
  126. T0* R=NULL;
  127. R=((T0*)ms41_473);
  128. return R;
  129. }
  130. /*No:CALL_INFIX_OR.atomic_precedence*/
  131. void r121pretty_print(T121* C){
  132. /*IF*/if ((X662precedence((((T121*)C))->_target/*8*/))==(13)) {
  133. X662pretty_print((((T121*)C))->_target/*8*/);
  134. r121print_op(C);
  135. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  136. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  137. }
  138.  else if ((4)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/))) {
  139. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  140. }
  141. else {
  142. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  143. }
  144. /*FI*/}
  145.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  146. /*IF*/if ((X662precedence((((T121*)C))->_target/*8*/))>=(4)) {
  147. X662bracketed_pretty_print((((T121*)C))->_target/*8*/);
  148. }
  149. else {
  150. X662pretty_print((((T121*)C))->_target/*8*/);
  151. }
  152. /*FI*/r121print_op(C);
  153. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  154. }
  155.  else if ((4)<=(X662precedence((((T121*)C))->_target/*8*/))) {
  156. X662bracketed_pretty_print((((T121*)C))->_target/*8*/);
  157. r121print_op(C);
  158. /*IF*/if ((4)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/))) {
  159. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  160. }
  161. else {
  162. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  163. }
  164. /*FI*/}
  165. else {
  166. X662pretty_print((((T121*)C))->_target/*8*/);
  167. r121print_op(C);
  168. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*20*/)))/*)*/);
  169. }
  170. /*FI*/}
  171. void r121print_op(T121* C){
  172. r238put_character(((T238*)(oBC364fmt)),'\40');
  173. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T121*)C))->_feature_name/*24*/));
  174. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  175. }/*]*/
  176. r238put_character(((T238*)(oBC364fmt)),'\40');
  177. }
  178. /*No:CALL_INFIX_OR.current_type*/
  179. void r121make_call_1(T121* C,T0* a1,T0* a2,T0* a3){
  180. C->_target=a1;
  181. C->_feature_name=a2;
  182. C->_arguments=a3;
  183. }
  184. /*No:CALL_INFIX_OR.is_manifest_string*/
  185. /*No:CALL_INFIX_OR.is_void*/
  186. void r121to_runnable_0(T121* C,T0* a1){
  187. C->_current_type=a1;
  188. r121cpc_to_runnable(C,a1);
  189. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T121*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  190. /*IF*/if (((((T121*)C))->_result_type/*16*/)==((void*)(NULL))) {
  191. r683add_position(X496start_position((((T121*)C))->_run_feature/*12*/));
  192. r121error((((T454*)((T454*)((((T121*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  193. }
  194.  else if (X291is_like_current((((T121*)C))->_result_type/*16*/)) {
  195. C->_result_type=X662result_type((((T121*)C))->_target/*8*/);
  196. }
  197. /*FI*/}
  198. void r121cpc_to_runnable(T121* C,T0* a1){
  199. T0* _rc=NULL;
  200. T0* _t=NULL;
  201. _t=X662to_runnable((((T121*)C))->_target/*8*/,a1);
  202. /*IF*/if ((_t)==((void*)(NULL))) {
  203. r683add_position(X662start_position((((T121*)C))->_target/*8*/));
  204. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  205. r683fatal_error(((T683*)(oBC364eh)),b1);
  206. }/*]*/
  207. }
  208. /*FI*/C->_target=_t;
  209. _rc=X291run_class(X662result_type((((T121*)C))->_target/*8*/));
  210. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  211. r576update((((T121*)C))->_target/*8*/,(((T121*)C))->_run_feature/*12*/);
  212. }
  213. void r121error(T0* a1,T0* a2){
  214. r683add_position(a1);
  215. r683error(((T683*)(oBC364eh)),a2);
  216. }
  217. /*No:CALL_INFIX_OR.fatal_error*/
  218. /*No:CALL_INFIX_OR.fz_bad_argument*/
  219. /*No:CALL_INFIX_OR.arg1*/
  220. /*No:CALL_INFIX_OR.us_or*/
  221. /*No:CALL_INFIX_GE.arguments*/
  222. T0* r890add_comment(T890* C,T0* a1){
  223. T0* R=NULL;
  224. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  225. R=(T0*)C;
  226. }
  227. else {
  228. {T529*n=malloc(sizeof(*n));
  229. *n=M529;
  230. r529make(n,(T0*)C,a1);
  231. R=(T0*)n;
  232. }
  233. }
  234. /*FI*/return R;
  235. }
  236. int r890to_integer(T890* C){
  237. int R=0;
  238. r890error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  239. return R;
  240. }
  241. int r890is_a(T890* C,T0* a1){
  242. int R=0;
  243. R=X291is_a(X291run_type((((T890*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  244. /*IF*/if (!(R)) {
  245. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  246. r890error(X662start_position(a1),((T0*)ms4_662));
  247. }
  248. /*FI*/return R;
  249. }
  250. /*No:CALL_INFIX_GE.is_current*/
  251. void r890make(T890* C,T0* a1,T0* a2,T0* a3){
  252. T0* _eal=NULL;
  253. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  254. r683add_position(a2);
  255. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  256. r683fatal_error(((T683*)(oBC364eh)),b1);
  257. }/*]*/
  258. }
  259. /*FI*/{T454*n=malloc(sizeof(*n));
  260. *n=M454;
  261. r454make(n,r890operator(),a2);
  262. C->_feature_name=(T0*)n;
  263. }
  264. {T431*n=malloc(sizeof(*n));
  265. *n=M431;
  266. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  267. /*]*/
  268. _eal=(T0*)n;
  269. }
  270. r890make_call_1(C,a1,(((T890*)C))->_feature_name/*24*/,_eal);
  271. }
  272. void r890print_as_target(T890* C){
  273. r238put_character(((T238*)(oBC364fmt)),'\50');
  274. r890pretty_print(C);
  275. r238put_character(((T238*)(oBC364fmt)),'\51');
  276. r238put_character(((T238*)(oBC364fmt)),'\56');
  277. }
  278. /*No:CALL_INFIX_GE.nb_errors*/
  279. /*No:CALL_INFIX_GE.feature_name*/
  280. /*No:CALL_INFIX_GE.fz_iinaiv*/
  281. /*No:CALL_INFIX_GE.run_feature*/
  282. /*No:CALL_INFIX_GE.start_position*/
  283. /*No:CALL_INFIX_GE.target*/
  284. /*No:CALL_INFIX_GE.precedence*/
  285. /*No:CALL_INFIX_GE.us_ge*/
  286. T0* r890to_runnable(T890* C,T0* a1){
  287. T0* R=NULL;
  288. T0* _tla=NULL;
  289. T0* _a=NULL;
  290. /*IF*/if (((((T890*)C))->_current_type/*4*/)==((void*)(NULL))) {
  291. r890to_runnable_0(C,a1);
  292. _a=r431to_runnable(((T431*)((((T890*)C))->_arguments/*20*/)),a1);
  293. /*IF*/if ((_a)==((void*)(NULL))) {
  294. r890error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  295. }
  296. else {
  297. C->_arguments=_a;
  298. }
  299. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  300. r431match_with(((T431*)((((T890*)C))->_arguments/*20*/)),(((T890*)C))->_run_feature/*12*/);
  301. }
  302. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  303. _tla=(((T890*)C))->_result_type/*16*/;
  304. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  305. case 239: 
  306. break;
  307. default:
  308. _tla=NULL;
  309. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  310. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/));
  311. }
  312. /*FI*/}
  313. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  314. R=(T0*)C;
  315. }
  316. /*FI*/}
  317. else {
  318. R=r890twin(C);
  319. /*[IRF3.3set_current_type*/((((T890*)(((T890*)R))))->_current_type)=(NULL);
  320. /*]*/
  321. R=r890to_runnable(((T890*)R),a1);
  322. }
  323. /*FI*/return R;
  324. }
  325. void r890bracketed_pretty_print(T890* C){
  326. r238put_character(((T238*)(oBC364fmt)),'\50');
  327. r890pretty_print(C);
  328. r238put_character(((T238*)(oBC364fmt)),'\51');
  329. }
  330. /*No:CALL_INFIX_GE.result_type*/
  331. T0* r890twin(T890* C){
  332. T0* R=NULL;
  333. R=malloc(sizeof(*C));
  334. *((T890*)R)=*C;
  335. return R;
  336. }
  337. /*No:CALL_INFIX_GE.set_current_type*/
  338. T0* r890operator(void){
  339. T0* R=NULL;
  340. R=((T0*)ms32_473);
  341. return R;
  342. }
  343. /*No:CALL_INFIX_GE.atomic_precedence*/
  344. void r890pretty_print(T890* C){
  345. /*IF*/if ((X662precedence((((T890*)C))->_target/*8*/))==(13)) {
  346. X662pretty_print((((T890*)C))->_target/*8*/);
  347. r890print_op(C);
  348. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  349. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  350. }
  351.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/))) {
  352. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  353. }
  354. else {
  355. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  356. }
  357. /*FI*/}
  358.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  359. /*IF*/if ((X662precedence((((T890*)C))->_target/*8*/))>=(6)) {
  360. X662bracketed_pretty_print((((T890*)C))->_target/*8*/);
  361. }
  362. else {
  363. X662pretty_print((((T890*)C))->_target/*8*/);
  364. }
  365. /*FI*/r890print_op(C);
  366. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  367. }
  368.  else if ((6)<=(X662precedence((((T890*)C))->_target/*8*/))) {
  369. X662bracketed_pretty_print((((T890*)C))->_target/*8*/);
  370. r890print_op(C);
  371. /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/))) {
  372. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  373. }
  374. else {
  375. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  376. }
  377. /*FI*/}
  378. else {
  379. X662pretty_print((((T890*)C))->_target/*8*/);
  380. r890print_op(C);
  381. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*20*/)))/*)*/);
  382. }
  383. /*FI*/}
  384. void r890print_op(T890* C){
  385. r238put_character(((T238*)(oBC364fmt)),'\40');
  386. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T890*)C))->_feature_name/*24*/));
  387. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  388. }/*]*/
  389. r238put_character(((T238*)(oBC364fmt)),'\40');
  390. }
  391. /*No:CALL_INFIX_GE.current_type*/
  392. void r890make_call_1(T890* C,T0* a1,T0* a2,T0* a3){
  393. C->_target=a1;
  394. C->_feature_name=a2;
  395. C->_arguments=a3;
  396. }
  397. /*No:CALL_INFIX_GE.is_manifest_string*/
  398. /*No:CALL_INFIX_GE.is_void*/
  399. void r890to_runnable_0(T890* C,T0* a1){
  400. C->_current_type=a1;
  401. r890cpc_to_runnable(C,a1);
  402. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T890*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  403. /*IF*/if (((((T890*)C))->_result_type/*16*/)==((void*)(NULL))) {
  404. r683add_position(X496start_position((((T890*)C))->_run_feature/*12*/));
  405. r890error((((T454*)((T454*)((((T890*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  406. }
  407.  else if (X291is_like_current((((T890*)C))->_result_type/*16*/)) {
  408. C->_result_type=X662result_type((((T890*)C))->_target/*8*/);
  409. }
  410. /*FI*/}
  411. void r890cpc_to_runnable(T890* C,T0* a1){
  412. T0* _rc=NULL;
  413. T0* _t=NULL;
  414. _t=X662to_runnable((((T890*)C))->_target/*8*/,a1);
  415. /*IF*/if ((_t)==((void*)(NULL))) {
  416. r683add_position(X662start_position((((T890*)C))->_target/*8*/));
  417. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  418. r683fatal_error(((T683*)(oBC364eh)),b1);
  419. }/*]*/
  420. }
  421. /*FI*/C->_target=_t;
  422. _rc=X291run_class(X662result_type((((T890*)C))->_target/*8*/));
  423. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  424. r576update((((T890*)C))->_target/*8*/,(((T890*)C))->_run_feature/*12*/);
  425. }
  426. void r890error(T0* a1,T0* a2){
  427. r683add_position(a1);
  428. r683error(((T683*)(oBC364eh)),a2);
  429. }
  430. /*No:CALL_INFIX_GE.fatal_error*/
  431. /*No:CALL_INFIX_GE.fz_bad_argument*/
  432. /*No:CALL_INFIX_GE.arg1*/
  433. /*No:CALL_INFIX_TIMES.arguments*/
  434. T0* r414add_comment(T414* C,T0* a1){
  435. T0* R=NULL;
  436. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  437. R=(T0*)C;
  438. }
  439. else {
  440. {T529*n=malloc(sizeof(*n));
  441. *n=M529;
  442. r529make(n,(T0*)C,a1);
  443. R=(T0*)n;
  444. }
  445. }
  446. /*FI*/return R;
  447. }
  448. int r414to_integer(T414* C){
  449. int R=0;
  450. r414error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  451. return R;
  452. }
  453. int r414is_a(T414* C,T0* a1){
  454. int R=0;
  455. R=X291is_a(X291run_type((((T414*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  456. /*IF*/if (!(R)) {
  457. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  458. r414error(X662start_position(a1),((T0*)ms4_662));
  459. }
  460. /*FI*/return R;
  461. }
  462. /*No:CALL_INFIX_TIMES.is_current*/
  463. void r414make(T414* C,T0* a1,T0* a2,T0* a3){
  464. T0* _eal=NULL;
  465. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  466. r683add_position(a2);
  467. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  468. r683fatal_error(((T683*)(oBC364eh)),b1);
  469. }/*]*/
  470. }
  471. /*FI*/{T454*n=malloc(sizeof(*n));
  472. *n=M454;
  473. r454make(n,r414operator(),a2);
  474. C->_feature_name=(T0*)n;
  475. }
  476. {T431*n=malloc(sizeof(*n));
  477. *n=M431;
  478. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  479. /*]*/
  480. _eal=(T0*)n;
  481. }
  482. r414make_call_1(C,a1,(((T414*)C))->_feature_name/*24*/,_eal);
  483. }
  484. void r414print_as_target(T414* C){
  485. r238put_character(((T238*)(oBC364fmt)),'\50');
  486. r414pretty_print(C);
  487. r238put_character(((T238*)(oBC364fmt)),'\51');
  488. r238put_character(((T238*)(oBC364fmt)),'\56');
  489. }
  490. /*No:CALL_INFIX_TIMES.nb_errors*/
  491. /*No:CALL_INFIX_TIMES.feature_name*/
  492. /*No:CALL_INFIX_TIMES.fz_iinaiv*/
  493. /*No:CALL_INFIX_TIMES.run_feature*/
  494. /*No:CALL_INFIX_TIMES.start_position*/
  495. /*No:CALL_INFIX_TIMES.target*/
  496. /*No:CALL_INFIX_TIMES.precedence*/
  497. T0* r414to_runnable(T414* C,T0* a1){
  498. T0* R=NULL;
  499. T0* _tla=NULL;
  500. T0* _a=NULL;
  501. /*IF*/if (((((T414*)C))->_current_type/*4*/)==((void*)(NULL))) {
  502. r414to_runnable_0(C,a1);
  503. _a=r431to_runnable(((T431*)((((T414*)C))->_arguments/*20*/)),a1);
  504. /*IF*/if ((_a)==((void*)(NULL))) {
  505. r414error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  506. }
  507. else {
  508. C->_arguments=_a;
  509. }
  510. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  511. r431match_with(((T431*)((((T414*)C))->_arguments/*20*/)),(((T414*)C))->_run_feature/*12*/);
  512. }
  513. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  514. _tla=(((T414*)C))->_result_type/*16*/;
  515. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  516. case 239: 
  517. break;
  518. default:
  519. _tla=NULL;
  520. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  521. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/));
  522. }
  523. /*FI*/}
  524. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  525. R=(T0*)C;
  526. }
  527. /*FI*/}
  528. else {
  529. R=r414twin(C);
  530. /*[IRF3.3set_current_type*/((((T414*)(((T414*)R))))->_current_type)=(NULL);
  531. /*]*/
  532. R=r414to_runnable(((T414*)R),a1);
  533. }
  534. /*FI*/return R;
  535. }
  536. void r414bracketed_pretty_print(T414* C){
  537. r238put_character(((T238*)(oBC364fmt)),'\50');
  538. r414pretty_print(C);
  539. r238put_character(((T238*)(oBC364fmt)),'\51');
  540. }
  541. /*No:CALL_INFIX_TIMES.result_type*/
  542. T0* r414twin(T414* C){
  543. T0* R=NULL;
  544. R=malloc(sizeof(*C));
  545. *((T414*)R)=*C;
  546. return R;
  547. }
  548. /*No:CALL_INFIX_TIMES.set_current_type*/
  549. T0* r414operator(void){
  550. T0* R=NULL;
  551. R=((T0*)ms38_473);
  552. return R;
  553. }
  554. /*No:CALL_INFIX_TIMES.atomic_precedence*/
  555. void r414pretty_print(T414* C){
  556. /*IF*/if ((X662precedence((((T414*)C))->_target/*8*/))==(13)) {
  557. X662pretty_print((((T414*)C))->_target/*8*/);
  558. r414print_op(C);
  559. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  560. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  561. }
  562.  else if ((8)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/))) {
  563. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  564. }
  565. else {
  566. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  567. }
  568. /*FI*/}
  569.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  570. /*IF*/if ((X662precedence((((T414*)C))->_target/*8*/))>=(8)) {
  571. X662bracketed_pretty_print((((T414*)C))->_target/*8*/);
  572. }
  573. else {
  574. X662pretty_print((((T414*)C))->_target/*8*/);
  575. }
  576. /*FI*/r414print_op(C);
  577. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  578. }
  579.  else if ((8)<=(X662precedence((((T414*)C))->_target/*8*/))) {
  580. X662bracketed_pretty_print((((T414*)C))->_target/*8*/);
  581. r414print_op(C);
  582. /*IF*/if ((8)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/))) {
  583. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  584. }
  585. else {
  586. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  587. }
  588. /*FI*/}
  589. else {
  590. X662pretty_print((((T414*)C))->_target/*8*/);
  591. r414print_op(C);
  592. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*20*/)))/*)*/);
  593. }
  594. /*FI*/}
  595. void r414print_op(T414* C){
  596. r238put_character(((T238*)(oBC364fmt)),'\40');
  597. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T414*)C))->_feature_name/*24*/));
  598. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  599. }/*]*/
  600. r238put_character(((T238*)(oBC364fmt)),'\40');
  601. }
  602. /*No:CALL_INFIX_TIMES.current_type*/
  603. void r414make_call_1(T414* C,T0* a1,T0* a2,T0* a3){
  604. C->_target=a1;
  605. C->_feature_name=a2;
  606. C->_arguments=a3;
  607. }
  608. /*No:CALL_INFIX_TIMES.is_manifest_string*/
  609. /*No:CALL_INFIX_TIMES.is_void*/
  610. void r414to_runnable_0(T414* C,T0* a1){
  611. C->_current_type=a1;
  612. r414cpc_to_runnable(C,a1);
  613. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T414*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  614. /*IF*/if (((((T414*)C))->_result_type/*16*/)==((void*)(NULL))) {
  615. r683add_position(X496start_position((((T414*)C))->_run_feature/*12*/));
  616. r414error((((T454*)((T454*)((((T414*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  617. }
  618.  else if (X291is_like_current((((T414*)C))->_result_type/*16*/)) {
  619. C->_result_type=X662result_type((((T414*)C))->_target/*8*/);
  620. }
  621. /*FI*/}
  622. void r414cpc_to_runnable(T414* C,T0* a1){
  623. T0* _rc=NULL;
  624. T0* _t=NULL;
  625. _t=X662to_runnable((((T414*)C))->_target/*8*/,a1);
  626. /*IF*/if ((_t)==((void*)(NULL))) {
  627. r683add_position(X662start_position((((T414*)C))->_target/*8*/));
  628. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  629. r683fatal_error(((T683*)(oBC364eh)),b1);
  630. }/*]*/
  631. }
  632. /*FI*/C->_target=_t;
  633. _rc=X291run_class(X662result_type((((T414*)C))->_target/*8*/));
  634. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  635. r576update((((T414*)C))->_target/*8*/,(((T414*)C))->_run_feature/*12*/);
  636. }
  637. /*No:CALL_INFIX_TIMES.us_muls*/
  638. void r414error(T0* a1,T0* a2){
  639. r683add_position(a1);
  640. r683error(((T683*)(oBC364eh)),a2);
  641. }
  642. /*No:CALL_INFIX_TIMES.fatal_error*/
  643. /*No:CALL_INFIX_TIMES.fz_bad_argument*/
  644. /*No:CALL_INFIX_TIMES.arg1*/
  645. T0*oBC817tmp_file_read=NULL;
  646. /*No:STD_OUTPUT.make*/
  647. void r830append_file(T830* C,T0* a1){
  648. char _c=0;
  649. r675connect_to(((T675*)(oBC817tmp_file_read)),a1);
  650. r675read_character(((T675*)(oBC817tmp_file_read)));
  651. while (!(r675end_of_input(((T675*)(oBC817tmp_file_read))))) {
  652. _c=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC817tmp_file_read))))->_memory/*12*/))/*)*/;
  653. /*[IRF3.6put_character*/{T830* C1=C;
  654. char b1=_c;
  655. putc(b1,((FILE*)(stdout)));
  656. }/*]*/
  657. r675read_character(((T675*)(oBC817tmp_file_read)));
  658. }
  659. r675disconnect(((T675*)(oBC817tmp_file_read)));
  660. }
  661. /*No:STD_OUTPUT.flush*/
  662. void r830put_string(T830* C,T0* a1){
  663. int _i=0;
  664. _i=1;
  665. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  666. /*[IRF3.6put_character*/{T830* C1=C;
  667. char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  668. putc(b1,((FILE*)(stdout)));
  669. }/*]*/
  670. _i=(_i)+(1);
  671. }
  672. }
  673. void r830put_integer(T830* C,int a1){
  674. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC817tmp_string)))))->_count)=(0);
  675. /*]*/
  676. r2append_in(a1,oBC817tmp_string);
  677. r830put_string(C,oBC817tmp_string);
  678. }
  679. /*No:STD_OUTPUT.put_character*/
  680. /*No:RUN_FEATURE_9.arguments*/
  681. /*No:RUN_FEATURE_9.actuals_clients*/
  682. void r904make(T904* C,T0* a1,T0* a2,T0* a3){
  683. C->_current_type=a1;
  684. C->_name=a2;
  685. C->_base_feature=a3;
  686. r199put(((T199*)((((T368*)((T368*)(r904run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  687. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  688. C->_use_current_state=1015;
  689. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  690. r904initialize(C);
  691. r604pop(((T604*)(oBC364small_eiffel)));
  692. }
  693. /*No:RUN_FEATURE_9.name*/
  694. int r904arg_count(T904* C){
  695. int R=0;
  696. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  697. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  698. }
  699. /*FI*/return R;
  700. }
  701. /*No:RUN_FEATURE_9.local_vars*/
  702. /*No:RUN_FEATURE_9.base_feature*/
  703. T0* r904start_position(T904* C){
  704. T0* R=NULL;
  705. R=X249start_position((((T904*)C))->_base_feature/*32*/);
  706. return R;
  707. }
  708. int r904is_exported_in(T904* C,T0* a1){
  709. int R=0;
  710. R=r636gives_permission_to(((T636*)(r904clients(C))),a1);
  711. return R;
  712. }
  713. /*No:RUN_FEATURE_9.result_type*/
  714. void r904add_client(T904* C,T0* a1){
  715. int _i=0;
  716. /*IF*/if (((((T904*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  717. {T187*n=malloc(sizeof(*n));
  718. *n=M187;
  719. r187with_capacity(n,4);
  720. C->_actuals_clients=(T0*)n;
  721. }
  722. r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  723. }
  724. else {
  725. _i=r187fast_index_of(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  726. /*IF*/if ((_i)>((((T187*)((T187*)((((T904*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  727. r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  728. }
  729. /*FI*/}
  730. /*FI*/r368add_client(((T368*)(r904run_class(C))),a1);
  731. }
  732. /*No:RUN_FEATURE_9.use_current_state*/
  733. /*No:RUN_FEATURE_9.current_type*/
  734. T0* r904run_class(T904* C){
  735. T0* R=NULL;
  736. R=X291run_class((((T904*)C))->_current_type/*4*/);
  737. return R;
  738. }
  739. /*No:RUN_FEATURE_9.ucs_not_computed*/
  740. T0* r904clients(T904* C){
  741. T0* R=NULL;
  742. T0* _bfbc=NULL;
  743. T0* _bc=NULL;
  744. /*IF*/if (((((T904*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  745. _bc=X291base_class((((T904*)C))->_current_type/*4*/);
  746. _bfbc=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*32*/))))->_base_class/*4*/);
  747. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  748. R=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*32*/))))->_clients/*20*/);
  749. }
  750. else {
  751. R=r605clients_for(((T605*)_bc),(((T904*)C))->_name/*16*/);
  752. }
  753. /*FI*/C->_clients_memory=R;
  754. }
  755. else {
  756. R=(((T904*)C))->_clients_memory/*8*/;
  757. }
  758. /*FI*/return R;
  759. }
  760. /*No:RUN_FEATURE_9.clients_memory*/
  761. void r904initialize(T904* C){
  762. C->_arguments=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*32*/))))->_arguments/*24*/);
  763. /*IF*/if ((((((T904*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  764. C->_arguments=r31to_runnable(((T31*)((((T904*)C))->_arguments/*20*/)),(((T904*)C))->_current_type/*4*/);
  765. }
  766. /*FI*/C->_result_type=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*32*/))))->_result_type/*12*/);
  767. /*IF*/if (((((T904*)C))->_result_type/*24*/)!=((void*)(NULL))) {
  768. C->_result_type=X291to_runnable((((T904*)C))->_result_type/*24*/,(((T904*)C))->_current_type/*4*/);
  769. }
  770. /*FI*/}
  771. T0* r936add_comment(T936* C,T0* a1){
  772. T0* R=NULL;
  773. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  774. R=(T0*)C;
  775. }
  776. else {
  777. {T529*n=malloc(sizeof(*n));
  778. *n=M529;
  779. r529make(n,(T0*)C,a1);
  780. R=(T0*)n;
  781. }
  782. }
  783. /*FI*/return R;
  784. }
  785. int r936to_integer(T936* C){
  786. int R=0;
  787. r936error((((T936*)C))->_start_position/*8*/,((T0*)ms69_470));
  788. return R;
  789. }
  790. int r936is_a(T936* C,T0* a1){
  791. int R=0;
  792. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T209*)r936result_type()))/*)*/,X291run_type(X662result_type(a1)));
  793. /*IF*/if (!(R)) {
  794. r683add_position((((T936*)C))->_start_position/*8*/);
  795. r936error(X662start_position(a1),((T0*)ms4_662));
  796. }
  797. /*FI*/return R;
  798. }
  799. /*No:REAL_CONSTANT.is_current*/
  800. void r936make(T936* C,T0* a1,T0* a2){
  801. C->_start_position=a1;
  802. C->_to_string=a2;
  803. }
  804. void r936print_as_target(T936* C){
  805. r238put_character(((T238*)(oBC364fmt)),'\50');
  806. /*[IRF3.6pretty_print*/{T936* C1=C;
  807. r238put_string(((T238*)(oBC364fmt)),(((T936*)C1))->_to_string/*12*/);
  808. }/*]*/
  809. r238put_character(((T238*)(oBC364fmt)),'\51');
  810. r238put_character(((T238*)(oBC364fmt)),'\56');
  811. }
  812. /*No:REAL_CONSTANT.to_string*/
  813. /*No:REAL_CONSTANT.fz_iinaiv*/
  814. /*No:REAL_CONSTANT.unary_minus*/
  815. /*No:REAL_CONSTANT.start_position*/
  816. /*No:REAL_CONSTANT.precedence*/
  817. T0* r936to_runnable(T936* C,T0* a1){
  818. T0* R=NULL;
  819. /*IF*/if (((((T936*)C))->_current_type/*4*/)==((void*)(NULL))) {
  820. C->_current_type=a1;
  821. R=(T0*)C;
  822. }
  823. else {
  824. R=r936twin(C);
  825. /*[IRF3.3set_current_type*/((((T936*)(((T936*)R))))->_current_type)=(a1);
  826. /*]*/
  827. }
  828. /*FI*/return R;
  829. }
  830. /*No:REAL_CONSTANT.bracketed_pretty_print*/
  831. int fBC936result_type=0;
  832. T0*oBC936result_type=NULL;
  833. T0* r936result_type(void){
  834. if (fBC936result_type==0){
  835. T0* R=NULL;
  836. fBC936result_type=1;
  837. {T209*n=malloc(sizeof(*n));
  838. *n=M209;
  839. r209make(n,NULL);
  840. R=(T0*)n;
  841. }
  842. oBC936result_type=R;}
  843. return oBC936result_type;}
  844. T0* r936twin(T936* C){
  845. T0* R=NULL;
  846. R=malloc(sizeof(*C));
  847. *((T936*)R)=*C;
  848. return R;
  849. }
  850. /*No:REAL_CONSTANT.set_current_type*/
  851. /*No:REAL_CONSTANT.atomic_precedence*/
  852. /*No:REAL_CONSTANT.pretty_print*/
  853. /*No:REAL_CONSTANT.current_type*/
  854. /*No:REAL_CONSTANT.is_manifest_string*/
  855. /*No:REAL_CONSTANT.is_void*/
  856. void r936error(T0* a1,T0* a2){
  857. r683add_position(a1);
  858. r683error(((T683*)(oBC364eh)),a2);
  859. }
  860. /*No:POSITION.line*/
  861. void r627make(T627* C,int a1,int a2){
  862. C->_mem_line_column=((a1)*(1000))+(a2);
  863. C->_base_class_name=/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/;
  864. }
  865. T0* r627get_line(T627* C){
  866. T0* R=NULL;
  867. int _i=0;
  868. T0* _p=NULL;
  869. _p=r627path(C);
  870. /*IF*/if ((_p)!=((void*)(NULL))) {
  871. r675connect_to(((T675*)(oBC364tmp_file_read)),_p);
  872. while (!((_i)==(/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/))) {
  873. r675read_line(((T675*)(oBC364tmp_file_read)));
  874. _i=(_i)+(1);
  875. }
  876. R=oBC762last_string;
  877. r675disconnect(((T675*)(oBC364tmp_file_read)));
  878. }
  879. /*FI*/return R;
  880. }
  881. T0* r627path(T627* C){
  882. T0* R=NULL;
  883. T0* _bc=NULL;
  884. T0* _bcn=NULL;
  885. _bcn=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/;
  886. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  887. /*IF*/if (r604is_used(_bcn)) {
  888. _bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  889. }
  890.  else if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
  891. /*IF*/if (((((T451*)((T451*)(/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/)==((void*)(_bcn))) {
  892. _bc=/*(IRF4.3current_class*/(((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*//*)*/;
  893. }
  894. /*FI*/}
  895. else {
  896. _bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  897. }
  898. /*FI*//*IF*/if ((_bc)!=((void*)(NULL))) {
  899. R=(((T605*)((T605*)_bc)))->_path/*4*/;
  900. }
  901. /*FI*/}
  902. /*FI*/return R;
  903. }
  904. /*No:POSITION.column*/
  905. void r627with(T627* C,int a1,int a2,T0* a3){
  906. C->_mem_line_column=((a1)*(1000))+(a2);
  907. C->_base_class_name=a3;
  908. }
  909. int r627is_equal(T627* C,T0* a1){
  910. int R=0;
  911. R=(((((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/))&&((/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/)==(/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/)))&&(((((T627*)C))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T627*)((T627*)a1)))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)==((void*)((((T451*)((T451*)((((T627*)((T627*)a1)))->_base_class_name/*0*/))))->_to_string/*0*/)));
  912. return R;
  913. }
  914. void r627show(T627* C){
  915. T0* _the_line=NULL;
  916. T0* _str=NULL;
  917. T0* _n=NULL;
  918. int _nb=0;
  919. int _c=0;
  920. _n=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/;
  921. r441put_string(((T441*)(oBC1std_error)),((T0*)ms3_627));
  922. r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/);
  923. r441put_string(((T441*)(oBC1std_error)),((T0*)ms4_627));
  924. r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/);
  925. r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_627));
  926. r441put_string(((T441*)(oBC1std_error)),_n);
  927. _str=r627path(C);
  928. /*IF*/if ((_str)!=((void*)(NULL))) {
  929. r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_627));
  930. r441put_string(((T441*)(oBC1std_error)),_str);
  931. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  932. char b1='\51';
  933. putc(b1,((FILE*)(stderr)));
  934. }/*]*/
  935. }
  936. /*FI*/r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_627));
  937. _the_line=r627get_line(C);
  938. /*IF*/if ((_the_line)!=((void*)(NULL))) {
  939. _c=/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/;
  940. r441put_string(((T441*)(oBC1std_error)),_the_line);
  941. /*[IRF3.4put_new_line*//*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  942. char b1='\n';
  943. putc(b1,((FILE*)(stderr)));
  944. }/*]*/
  945. /*]*/
  946. _nb=1;
  947. while (!((_nb)==(_c))) {
  948. /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_the_line)))->_storage/*0*/)[(_nb)-(1)]/*)*/)==('\11')) {
  949. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  950. char b1='\11';
  951. putc(b1,((FILE*)(stderr)));
  952. }/*]*/
  953. }
  954. else {
  955. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  956. char b1='\40';
  957. putc(b1,((FILE*)(stderr)));
  958. }/*]*/
  959. }
  960. /*FI*/_nb=(_nb)+(1);
  961. }
  962. r441put_string(((T441*)(oBC1std_error)),((T0*)ms8_627));
  963. }
  964. else {
  965. r441put_string(((T441*)(oBC1std_error)),((T0*)ms9_627));
  966. r441put_string(((T441*)(oBC1std_error)),_n);
  967. r441put_string(((T441*)(oBC1std_error)),((T0*)ms10_627));
  968. }
  969. /*FI*/}
  970. T0* r627base_class(T627* C){
  971. T0* R=NULL;
  972. /*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
  973. /*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/))))->_count/*4*/)==(0)/*)*/) {
  974. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_627);
  975. r683fatal_error(((T683*)(oBC364eh)),b1);
  976. }/*]*/
  977. }
  978.  else if (r604is_used((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)) {
  979. R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  980. }
  981. else {
  982. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_627);
  983. r683fatal_error(((T683*)(oBC364eh)),b1);
  984. }/*]*/
  985. }
  986. /*FI*/}
  987. else {
  988. R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  989. }
  990. /*FI*/return R;
  991. }
  992. /*No:POSITION.fatal_error*/
  993. /*No:POSITION.mem_line_column*/
  994. /*No:POSITION.base_class_name*/
  995. void r627set_line_column(T627* C,int a1,int a2){
  996. C->_mem_line_column=((a1)*(1000))+(a2);
  997. }
  998. /*No:BOOLEAN_REF.item*/
  999.  
  1000.